package com.example.rabbitdemo.exchanger.topic;

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

// 3. 消费者
@Component
public class TopicConsumer {
    // 该队列会收到路由键为 "usa.news" 和 "usa.weather" 的消息（匹配 `usa.#`）
    @RabbitListener(queues = "queue.usa.all")
    public void handleUsaAll(String message) {
        System.out.println("USA全量队列收到: " + message);
    }

    // 该队列会收到路由键为 "usa.news" 和 "europe.news" 的消息（匹配 `#.news`）
    @RabbitListener(queues = "queue.news.global")
    public void handleGlobalNews(String message) {
        System.out.println("全球新闻队列收到: " + message);
    }

    // 该队列只会收到路由键为 "usa.weather" 的消息（精确匹配）
    @RabbitListener(queues = "queue.usa.weather")
    public void handleUsaWeather(String message) {
        System.out.println("美国天气队列收到: " + message);
    }
}
